package com.hcl.dao;

import com.hcl.entity.Book;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

//继承一下JpaRepository，然后泛型继承Book类，然后序列化就是主键是什么类型就什么类型
public interface BookDao extends JpaRepository<Book, Integer>, JpaSpecificationExecutor<Book> {

    //Book是一个类,对象是a;
    //?1代表的是第一个参数，也就是下面写的name
    @Query("select a from Book a where a.name like %?1%")
    public List<Book> findByName(String name);

    //limit ?1代表是根据第一个参数来决定你取几条数据
    @Query(value = "select * from t_book order by RAND() limit ?1", nativeQuery = true)
    public List<Book> randomList(Integer n);
}
